/**
 * 
 * @param {Object} [oldValue] old value
 * @param {Object} [newValue] new value
 * @param {JSEvent} [event] the event that triggered the action
 * 
 * @returns {Boolean} valid value
 *
 * @properties={typeid:24,uuid:"25461FD3-ED10-44B8-9B87-6284966D98B9"}
 */
function elige_producto(oldValue, newValue, event)
{
	if (presup_detalle_id)
	{
		globals.DIALOGS.showWarningDialog('Aviso','No puede cambiar el producto de un presupuesto','OK')
		producto_id = oldValue
		return true
	}
	if (forms.pedidos.cliente_id == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe ingresar cliente','OK')
		forms.pedidos.elements.fld_cliente_id.requestFocus()
		return true;
	}	
	precio_unitario = ped_detalle_to_productos.productos_to_monedas.cotizacion * ped_detalle_to_productos.precio_unitario
	descuento_porc	= ped_detalle_to_productos.descuento; 
	recalcula_precio()
	elements.cantidad.requestFocus();
	
	return true
}

/**
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"D1867AD7-7821-456A-B2D9-F980A0897C00"}
 */
function recalcula_total_renglon() 
{
	var $iva_coef = calculaCoeficienteIva()
	total_renglon = (precio_unitario * cantidad - descuento_importe) * $iva_coef
	forms.pedidos.totalizar()
	return true
}

/**
 * @properties={typeid:24,uuid:"7379F2EF-E9C2-4589-9080-59B5042A14D9"}
 */
function calculaCoeficienteIva() {
	var $multi = 1
	if (forms.pedidos.ped_cabecera_to_clientes.clientes_to_relacion_iva_letra.rel_iva_calcula == 1)
	{ //  DISCRIMINA
		iva_porc = ped_detalle_to_productos.productos_to_tasa_iva.tasa_iva_porc
		if (forms.pedidos.ped_cabecera_to_clientes.clientes_to_relacion_iva_letra.rel_iva_discrimina == 1)
		{
			$multi = 1;  // es A
		}
		else  // es B 
			$multi = 1 + iva_porc / 100
	}
	else
	{ //NO CALCULA IVA
		iva_porc 	= 0
		$multi 		= 1;
	}
	return $multi
}

/**
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"3EF40D8C-6FF3-4D08-97C7-ED44A7143BA3"}
 */
function recalcula_precio() 
{  // rever el calculo del renglon
	descuento_importe	= precio_unitario * cantidad * (descuento_porc / 100);
	recalcula_total_renglon();
	return true
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"A2858EDD-8FA8-470A-B39B-1EA0D67BD2AB"}
 */
function onDataChange_cantidad(oldValue, newValue, event)
{
	marca_cambio_cantidad = 1
	cantidad_pendiente_entrega = cantidad;
	recalcula_precio()
	if (precio_unitario)
	{
		forms.pedidos.ped_cabecera_to_ped_detalle.newRecord(false)
		elements.fld_producto_id.requestFocus()
	}
	else
		elements.fld_precio_unitario.requestFocus()
	return true
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"D1BE747D-7B73-4935-B63D-571D33521C32"}
 */
function onDataChange_precio(oldValue, newValue, event) 
{
	descuento_importe	= precio_unitario * (descuento_porc / 100);
	recalcula_total_renglon();
	if (!oldValue)
	{
		forms.pedidos.ped_cabecera_to_ped_detalle.newRecord(false)
		elements.fld_producto_id.requestFocus()
	}
	return true;
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"2E619CDB-2D7F-4555-9779-697765EF2FE8"}
 */
function onDataChange_descuento(oldValue, newValue, event) 
{	
	//  DESCUENTO TOPE PERMITIDO
	if (globals.descuento_permitido(descuento_porc) == false)	
	{
		descuento_porc = oldValue;
		return true;  
	}
	recalcula_precio()
	return true;
}
